/**
 * 
 */
package info.sswap.ontologies.modularity.repo;

import java.net.URI;
import java.util.Collection;

/**
 * The main interface for our ontology repository. Consists of two parts
 * - The term cloud (TC): a set of terms created via the HTTP API. Could be viewed as a single giant ontology
 * - A collection of ontologies, possibly stored in a decomposed form
 * 
 * @author Pavel Klinov
 *
 */
public interface OntologyRepository {

	public RepositoryEntry getEntryForOntology(URI ontologyURI) throws OntologyRepositoryException;
	public Collection<RepositoryEntry> getEntriesForTerm(URI termURI) throws OntologyRepositoryException;
	public Collection<RepositoryEntry> getEntries() throws OntologyRepositoryException;
	public TermCloud getTermCloud() throws OntologyRepositoryException;
	public void shutdown();
}
